# Loading the required packages:
suppressPackageStartupMessages({
library(tidyverse)
library(DiagrammeR)
library(janitor)
library(knitr)
library(stringr)
library(ggplot2)
library(sandwich)
library(lmtest)
library(car) # VIF
library(splines) # spline check for linearity of the logit
library(brglm2)# separation detection
library(detectseparation)
library(modelsummary)
})
#Loading the Afrobarometer dataset:
Afro <- read_csv(
"MOR_R10.Data_06June24.wtd_.final_.release_updated.13Feb25.csv",
show_col_types = FALSE
)Afrobarometer Analysis
Introduction:
Despite sustained improvements in economic and social indicators, inequality remains a persistent feature of Moroccan society. Development gains have not been evenly shared across populations or territories, and large disparities persist between urban and rural areas, regions, and income groups. As shown by Boutayeb and Helmert (2011), North African countries, including Morocco, have experienced rising average living standards alongside enduring social and health inequalities.
These structural disparities translate into unequal exposure to material deprivation and insecurity. Where access to public services and formal welfare protection is limited, households must adapt to economic uncertainty. In such contexts, informal support networks, particularly assistance from family (kin), friends, and neighbors (non-kin), play a central role in coping with risk. As argued by Moser (1998), social networks function as key assets for households facing vulnerability.
Using Afrobarometer Round 10 data, this study examines the relationship between material deprivation and reliance on informal support in Morocco, with explicit attention to differences between urban and rural settings.
Figure 1 illustrates the unequal distribution of income or consumption between the poorest and richest population groups in selected North African countries, including Morocco. While the poorest 10% and 20% capture only a small share of total resources, the richest groups account for a disproportionately large share, highlighting persistent structural inequality despite overall development gains (Boutayeb & Helmert, 2011).
Research question and hypotheses:
Research question:
This study examines how material deprivation shapes households’ reliance on informal support networks in urban Morocco. Specifically, it asks:
“How does material deprivation affect households’ reliance on informal support networks, and how does this reliance differ between kin-based and non-kin-based networks in urban Morocco?”
This research question treats material deprivation as a central constraint faced by urban households and conceptualizes informal social networks as adaptive mechanisms through which households cope with constrained environments. It adopts an individual-level, bottom-up perspective, in contrast to much of the existing literature that approaches material deprivation primarily from economic, developmental, or policy standpoints. Such approaches often overlook the lived realities of people experiencing deprivation and pay limited attention to how individuals actively adapt to their environments.
Focusing on these adaptive strategies is important for policy design. When the ways households organize support and manage risk are ignored, policies may inadvertently disrupt existing coping mechanisms rather than strengthen them. This dynamic can be illustrated by the case of informal settlements (bidonvilles) in Morocco. In response to the presence of informal housing, public policies have largely emphasized relocation through state-provided housing as a substitute for existing residences. However, residents often resist relocation unless it is enforced through coercive measures, suggesting that remaining in these settlements reflects deliberate choices rather than simple inertia.
Beyond issues of housing adequacy, relocation frequently weakens the informal networks on which households rely, particularly kinship and neighborhood ties that provide everyday support. By displacing households from their social environments, such policies risk removing important sources of resilience, such as informal support networks. More generally, policies that take into account individuals’ choices, rationales, and social embeddedness are more likely to address material deprivation without undermining the social resources that households depend on.
Hypotheses:
Drawing on work on urban vulnerability and informal coping strategies, as well as insights from Human Behavioral Ecology emphasizing adaptive behavior under resource constraints, the analysis tests the following hypotheses:
H1 - Material deprivation and informal support: Households experiencing higher levels of material deprivation are more likely to rely on informal support networks for assistance than households facing lower levels of deprivation.
H2 - Network composition under deprivation: As material deprivation increases, households are more likely to rely on kin-based networks (family members) rather than non-kin networks (friends or neighbors) for support.
#This DAG is to visualize the research question, and how the hypotheses emerged.
grViz("
digraph RQ {
graph [
layout = dot,
rankdir = LR,
label = 'Figure 2: DAG summarizing the conceptual framework\nand the 2 hypotheses',
labelloc = top,
fontsize = 18
]
dep [label = 'Material deprivation\n(Lived poverty index: Q7A–Q7E)']
kin [label = 'Kin support\n(Family assistance: Q8A)']
nonk [label = 'Non-kin support\n(Friends/neighbors assistance: Q8B)']
age [label = 'Control: Age (Q1)']
sex [label = 'Control: Sex (Q101)']
dep -> kin [label = 'H1 (+)']
dep -> nonk [label = 'H2 (+), weaker than H1']
age -> kin [style = dashed]
age -> nonk [style = dashed]
sex -> kin [style = dashed]
sex -> nonk [style = dashed]
}
")Data and Data Preparation
Data
This study uses data from Afrobarometer Round 10 (Morocco, 2024), a nationally representative survey of Moroccan citizens aged 18 and over. Afrobarometer employs a stratified, multi-stage cluster sampling design, with stratification by region and urban–rural location, ensuring coverage of diverse socioeconomic contexts across the country (Afrobarometer, 2024).
The survey collects detailed individual-level information on material living conditions, social relations, and coping behaviors, making it well suited to the study of informal support networks. In particular, Afrobarometer provides direct measures of experienced material deprivation and self-reported reliance on different forms of informal assistance, allowing the analysis to focus on how households respond to economic constraints rather than on income alone.
Data preparation
The dataset is structured at the individual respondent level, with one row per respondent and one column per variable. Data preparation focused on three main steps:
Selecting variables directly relevant to the research question and hypotheses
Recoding categorical survey responses into analytically meaningful formats;
Constructing composite indicators for material deprivation and informal support.
Several response categories in Afrobarometer (such as “No further response”, “Don’t know”, or refusals) do not convey substantive information about respondents’ experiences or behaviors. These responses were therefore treated as missing values. The number of observations affected by this recoding is reported explicitly in the descriptive statistics section. While this approach reduces the effective sample size, retaining these categories would introduce ambiguity into the measurement of key constructs. The potential implications for sample composition and bias are discussed in the limitations section.
Variables and Measures
Material deprivation
Material deprivation is the central explanatory variable in this study. It captures the extent to which households experience difficulty meeting basic needs. Following Afrobarometer’s ‘Lived Poverty Index (LPI)’ framework, deprivation is measured using respondents’ reported frequency of going without five essential items during the past year: food, clean water, medical care, cooking fuel, and cash income.
These items capture experienced deprivation rather than formal income or employment status, making them particularly appropriate in contexts characterized by informal labor markets and income volatility.
Initially, material deprivation was operationalized as a continuous index based on the average frequency of deprivation across the five items. However, the distribution of this index is highly skewed, with a large mass of observations at or near zero. Diagnostic checks revealed severe departures from normality that persisted even after log transformation. This distribution reflects the substantive reality that many respondents report no deprivation, while a smaller share experience varying degrees of hardship. We are however interested to study the minority’s reliance on informal support systems, regardless of their rather small proportion.
To address this issue, material deprivation is ultimately operationalized as a binary indicator, distinguishing between respondents who went without at least one essential item at least once during the past year (coded 1) and those who never experienced (coded 0). This operationalization aligns with the study’s substantive focus on whether households face deprivation at all, rather than on fine-grained differences among deprived respondents, and allows for more robust inference given the observed distribution.
# Recoding lived poverty items into binary indicators
# 1 = experienced deprivation at least once
# 0 = never experienced deprivation
# NA = non-substantive response
recode_lived_poverty_binary <- function(x) {
case_when(
x == "Never" ~ 0,
x %in% c("Just once or twice",
"Several times",
"Many times",
"Always") ~ 1,
x %in% c("Don't know", "Refused") ~ NA_real_,
TRUE ~ NA_real_
)
}
Afro_dep_items <- Afro %>%
transmute(
dep_food = recode_lived_poverty_binary(Q7A),
dep_water = recode_lived_poverty_binary(Q7B),
dep_medic = recode_lived_poverty_binary(Q7C),
dep_fuel = recode_lived_poverty_binary(Q7D),
dep_income = recode_lived_poverty_binary(Q7E)
)
# Construct binary material deprivation indicator
# 1 = deprived in at least one dimension
# 0 = never deprived in all dimensions
# NA = all five components missing
Afro_deprivation <- Afro_dep_items %>%
mutate(
dep_binary = case_when(
if_all(everything(), ~ .x == 0) ~ 0,
if_any(everything(), ~ .x == 1) ~ 1,
TRUE ~ NA_real_
)
)Informal support networks:
Reliance on informal support networks constitutes the primary outcome of interest. It is measured using survey questions asking whether respondents received assistance during the past year from:
- Family members (kin-based networks)
- Friends or neighbors (non-kin networks)
These two forms of support are analyzed separately. This distinction is theoretically motivated: kin-based ties are generally more stable and enforceable, while non-kin ties may be more flexible but less reliable under conditions of scarcity. Examining these outcomes separately allows the analysis to assess not only whether material deprivation is associated with greater reliance on informal support, but also whether deprivation alters the composition of support networks.
# Recoding informal support into binary indicators
# 1 = received support at least once
# 0 = received no support
# NA = non-substantive response
recode_support_binary <- function(x) {
case_when(
x == "No" ~ 0,
x %in% c("Yes, once or twice",
"Yes, several times",
"Yes, often") ~ 1,
x %in% c("Don't know", "Refused", "Refused to answer") ~ NA_real_,
TRUE ~ NA_real_
)
}
Afro_support <- Afro %>%
transmute(
kin_support = recode_support_binary(Q8A),
nonkin_support = recode_support_binary(Q8B)
)Control variables
The analysis includes three control variables chosen based on their potential role as confounders of the relationship between material deprivation and reliance on informal support.
- Age: It is included as a control variable because it is plausibly related to both material deprivation and reliance on informal support networks. Exposure to material deprivation often varies over the life course, as younger and older individuals face different labor market positions, income stability, and health-related needs. At the same time, access to informal support is strongly age-dependent. Older individuals are more likely to have established family roles, accumulated reciprocal obligations, and long-standing social ties, which can increase access to kin-based support independently of current material conditions. Failing to control for age could therefore confound the estimated relationship between material deprivation and reliance on informal support.
- Sex: It is included because gendered social roles influence caregiving, reciprocity, and help-seeking behavior. Men and women may differ both in their likelihood of experiencing deprivation and in their reliance on informal assistance, making sex a potential confounder.
- Urban-rural location: It is included because settlement type shapes both exposure to material deprivation and the structure of social networks. Rural areas may offer denser kin networks but fewer formal services, while urban areas may present different combinations of deprivation and social support. Controlling for settlement type prevents conflating deprivation effects with broader contextual differences.
These controls account for basic demographic differences that could confound the relationship between material deprivation and reliance on informal support, while remaining closely aligned with the study’s core research question.
Afro_controls <- Afro %>%
transmute(
# Age (already numeric in the data)
age = as.numeric(Q1),
# Sex
sex = case_when(
Q101 == "Man" ~ "Male",
Q101 == "Woman" ~ "Female",
TRUE ~ NA_character_
) %>%
factor(levels = c("Male", "Female")),
# Urban / Rural
urban = case_when(
URBRUR == "Urban" ~ "Urban",
URBRUR == "Rural" ~ "Rural",
TRUE ~ NA_character_
) %>%
factor(levels = c("Urban", "Rural"))
)We now can create a new dataset ready for descriptive statistics and inferential statistics. Because all objects were created row-by-row from the same original dataset, we can safely bind them column-wise.
Afro_analysis <- bind_cols(
Afro_deprivation,
Afro_support,
Afro_controls
)
# Create respondent identifier (used for clustering in Model 2)
Afro_analysis <- Afro_analysis %>%
mutate(resp_id = row_number())Descriptive statistics:
Missing values:
# The is the missing values summary
# This table reports the number of missing observations for each variable after recoding non-substantive responses (ex: "Don't know", refusals) as NA.
missing_summary <- Afro_analysis %>%
# Count missing values (NA) for each variable
summarise(
across(
everything(),
~ sum(is.na(.x))
)
) %>%
# Convert the wide summary into a long, readable format
pivot_longer(
cols = everything(),
names_to = "Variable",
values_to = "Number of missing observations"
) %>%
# Order variables from most to least missing values
arrange(desc(`Number of missing observations`))
# Display the table using kable for clean presentation
missing_summary %>%
knitr::kable(
caption = "Table 1: Number of missing observations by variable after data preparation",
col.names = c("Variable", "Number of missing observations"),
align = c("l", "r")
)| Variable | Number of missing observations |
|---|---|
| dep_income | 18 |
| dep_medic | 11 |
| dep_food | 6 |
| dep_binary | 6 |
| dep_water | 4 |
| dep_fuel | 4 |
| kin_support | 4 |
| nonkin_support | 1 |
| age | 0 |
| sex | 0 |
| urban | 0 |
| resp_id | 0 |
Table 1 reports the number of missing observations for each variable after data preparation. Overall, the extent of missingness is low and concentrated in a small number of survey items.
Among the material deprivation components, missing values range from 4 to 18 observations. Missingness is highest for cash income and medical care, which is consistent with the greater sensitivity and potential ambiguity associated with these questions. Other deprivation items, such as food, water, and cooking fuel, display very limited missingness.
In addition, the binary material deprivation indicator exhibits only six missing observations. These correspond to respondents who provided no valid information across all deprivation items, indicating that nearly all respondents reported on at least one dimension of lived poverty.
Missingness for the outcome variables is minimal as well, with four missing observations for kin-based support and one for non-kin support. None of the control variables contain missing values.
These patterns suggest that missing data are unlikely to meaningfully affect the descriptive results or subsequent inferential analyses. The low and localized nature of missingness supports the use of complete-case analyses in the sections that follow.
Sample overview:
# This table summarizes key characteristics of the analytical sample: sample size, age, gender composition, and settlement type
sample_overview <- Afro_analysis %>%
summarise(
`Sample size` = n(),
# Average age of respondents
`Mean age` = mean(age, na.rm = TRUE),
# Share of female respondents
`Share female` = mean(sex == "Female", na.rm = TRUE),
# Share of respondents living in urban areas
`Share urban` = mean(urban == "Urban", na.rm = TRUE)
)
#Table 2
sample_overview %>%
knitr::kable(
digits = 2,
caption = "Table 2: Sample overview of the analytical dataset",
align = "c"
)| Sample size | Mean age | Share female | Share urban |
|---|---|---|---|
| 1200 | 39.77 | 0.5 | 0.67 |
Table 2 shows that the analytical sample consists of 1,200 respondents. The average age of respondents is approximately 40 years (mean = 39.77), indicating a broadly adult sample spanning multiple life stages. The sample is gender-balanced, with 50% of respondents identifying as female. A majority of respondents (67%) reside in urban areas, reflecting the greater concentration of the Moroccan population in urban settings.
Distribution of material deprivation:
# We know that dep_binary is coded as 1 = experienced deprivation at least once (any item) and 0 = never experienced deprivation
# 1) Frequency table (counts and percentages):
dep_dist <- Afro_analysis %>%
filter(!is.na(dep_binary)) %>% # keep valid responses only
count(dep_binary) %>% # count 0s and 1s
mutate(
percent = 100 * n / sum(n), # convert to %
dep_binary = factor(dep_binary,
levels = c(0, 1),
labels = c("Never deprived", "Deprived at least once"))
)
# Display
dep_dist %>%
knitr::kable(
digits = 1,
caption = "Table 3: Distribution of binary material deprivation",
col.names = c("Material deprivation", "Count", "Percent (%)"),
align = c("l", "r", "r")
)| Material deprivation | Count | Percent (%) |
|---|---|---|
| Never deprived | 426 | 35.7 |
| Deprived at least once | 768 | 64.3 |
# 2) Bar plot (for proportions)
ggplot(dep_dist, aes(x = dep_binary, y = percent, fill = dep_binary)) +
geom_col(width = 0.6, color = "black") +
theme_minimal() +
labs(
title = "Figure 3: Material deprivation in the past year",
x = NULL,
y = "Percent of respondents"
) +
theme(legend.position = "none")Table 3 and Figure 3 present the distribution of the binary material deprivation measure. A majority of respondents (64.3%) report having experienced material deprivation at least once during the past year, while 35.7% report no deprivation across all basic needs. This indicates that exposure to material hardship is widespread in the sample, even if not necessarily persistent or severe.
The bar chart in Figure 3 visually reinforces this pattern, showing a clear imbalance between deprived and non-deprived respondents. The higher share of individuals reporting at least one episode of deprivation suggests that material insecurity affects a substantial portion of the population, rather than being confined to a small marginal group.
Given that a majority of respondents experienced deprivation at least once, there is sufficient variation in the key explanatory variable to examine whether and how material deprivation is associated with greater reliance on informal support networks, and whether this relationship differs between kin-based and non-kin support.
Informal support:
# For binary variables coded 0/1, the mean corresponds to the share of respondents who received support
support_overview <- Afro_analysis %>%
summarise(
`Share receiving kin support` = mean(kin_support, na.rm = TRUE),
`Share receiving non-kin support` = mean(nonkin_support, na.rm = TRUE)
)
# Table
support_overview %>%
knitr::kable(
digits = 2,
caption = "Table 4: Prevalence of kin-based and non-kin informal support",
align = "c"
)| Share receiving kin support | Share receiving non-kin support |
|---|---|
| 0.35 | 0.16 |
Table 4 show that 35% of respondents report having received kin-based support from family members during the past year, compared to 16% who report receiving support from friends or neighbors. This gap indicates that reliance on family networks is substantially more common than reliance on non-kin networks.
This descriptive pattern suggests that when informal support is mobilized, it is more frequently accessed through kin-based ties. Such a distribution is consistent with the expectation that family relationships constitute the primary source of assistance, particularly in contexts characterized by material constraints and limited formal support.
Descriptive preview of H1 and H2
# Table 5 + Figure 4: Informal support by material deprivation status (Descriptive preview of H1 and H2)
support_by_dep <- Afro_analysis %>%
# Keep respondents with valid deprivation and support information
filter(
!is.na(dep_binary),
!is.na(kin_support),
!is.na(nonkin_support)
) %>%
group_by(dep_binary) %>%
summarise(
`Kin support rate` = mean(kin_support),
`Non-kin support rate` = mean(nonkin_support),
`Number of respondents` = n(),
.groups = "drop"
) %>%
mutate(
dep_binary = factor(
dep_binary,
levels = c(0, 1),
labels = c("Never deprived", "Deprived at least once")
)
)
#Table 5:
support_by_dep %>%
knitr::kable(
digits = 2,
caption = "Table 5: Informal support by material deprivation status",
align = "c"
)| dep_binary | Kin support rate | Non-kin support rate | Number of respondents |
|---|---|---|---|
| Never deprived | 0.11 | 0.03 | 426 |
| Deprived at least once | 0.48 | 0.23 | 763 |
#Preparing long format for Figure 4
support_long <- support_by_dep %>%
select(-`Number of respondents`) %>%
pivot_longer(
cols = c(`Kin support rate`, `Non-kin support rate`),
names_to = "Type of support",
values_to = "Rate"
) %>%
mutate(
`Type of support` = dplyr::recode(
`Type of support`,
`Kin support rate` = "Kin support (family)",
`Non-kin support rate` = "Non-kin support (friends/neighbors)"
),
Percent = 100 * Rate
)
#Figure 4: bar plot
ggplot(support_long,
aes(x = dep_binary, y = Percent, fill = `Type of support`)) +
geom_col(position = "dodge", color = "black") +
theme_minimal() +
labs(
title = "Figure 4: Informal support by material deprivation status",
x = NULL,
y = "Percent of respondents",
fill = "Type of support"
) +
scale_fill_manual(
values = c(
"Kin support (family)" = "#E76F51",
"Non-kin support (friends/neighbors)" = "#2A9D8F"
)
)Figure 4 and Table 5 summarize patterns of informal support by material deprivation status. Respondents who experienced material deprivation at least once during the past year are substantially more likely to report receiving informal support than those who were never deprived.
Among respondents who report no material deprivation, reliance on informal support is relatively rare. Only 11% report receiving kin-based support, and just 3% report receiving support from friends or neighbors. In contrast, among respondents who experienced any material deprivation, nearly 48% report receiving kin-based assistance, while 23%report receiving non-kin support. This corresponds to an increase of approximately 37 percentage points for kin support and 20 percentage points for non-kin support.
These descriptive differences provide initial support for H1, which predicts that material deprivation is associated with greater reliance on informal support networks. The sharp contrast between deprived and non-deprived respondents suggests that informal assistance functions as an important coping mechanism under conditions of economic constraint.
Figure 4 also highlights differences in the composition of informal support networks. In both deprivation groups, kin-based support is more prevalent than non-kin support, but this gap widens substantially among deprived respondents. While deprivation is associated with increased reliance on both types of networks, family assistance remains the dominant source of support when households face material hardship. This pattern is consistent with H2, which anticipates a stronger association between deprivation and kin-based support than with non-kin support. Finally, these descriptive results motivate the inferential analyses, which assess whether these patterns persist after accounting for demographic and contextual factors.
Inferential statistics:
The descriptive analyses revealed substantial differences in reliance on informal support between deprived and non-deprived respondents. However, descriptive patterns alone do not indicate whether these differences are statistically robust, nor whether they persist once basic demographic and contextual factors are taken into account. To formally evaluate the study’s hypotheses, the analysis therefore turns to inferential statistical models.
The main outcomes of interest (receipt of kin-based support and receipt of non-kin support) are binary variables, indicating whether respondents received informal assistance at least once during the past year. Because these outcomes take only two possible values, standard linear regression models are not appropriate. Linear probability models can produce predicted values outside the [0,1] range and rely on assumptions that are often violated when modeling binary data.
For this reason, the analysis relies on generalized linear models (GLMs) with a binomial distribution and a logit link function, commonly referred to as logistic regression. This modeling framework is specifically designed for dichotomous dependent variables and allows the estimation of how explanatory variables are associated with the probability of an event occurring.
In this context, logistic regression models the probability that a respondent received informal support as a function of material deprivation and other covariates. Rather than assuming a linear relationship between predictors and the outcome, the model estimates how predictors affect the log-odds of receiving support, which are then transformed into predicted probabilities constrained between 0 and 1.
Both inferential models include a common set of control variables (age, sex, and urban–rural location) to account for demographic and contextual factors that may influence access to informal support independently of material deprivation. Including these controls allows the analysis to more clearly isolate the association between material deprivation and reliance on informal support networks.
Model 1: Material deprivation and reliance on informal support (H1)
Model specification
To test H1, which predicts that material deprivation increases households’ reliance on informal support networks, Model 1 estimates the association between material deprivation and the probability of receiving any informal support during the past year.
The dependent variable is a binary indicator equal to 1 if the respondent received assistance from either kin or non-kin at least once during the past year, and 0 otherwise. This operationalization captures reliance on informal support networks in general, without distinguishing between specific types of ties.
Let Yi denote whether respondent i received any informal support. The model is specified as:logit(P(Yi=1))=β0+β1Deprivationi+β2Agei+β3Sexi+β4Urbani
where:
Deprivationi equals 1 if the respondent experienced material deprivation at least once during the past year, and 0 otherwise;
Age is measured in years;
Sex distinguishes male and female respondents;
Urban indicates residence in an urban (vs. rural) area.
The coefficient β1 directly tests H1.
# General informal support:
# 1 = received kin OR non-kin support
# 0 = received neither
# NA = insufficient information
Afro_analysis <- Afro_analysis %>%
mutate(
any_support = case_when(
kin_support == 1 | nonkin_support == 1 ~ 1,
kin_support == 0 & nonkin_support == 0 ~ 0,
TRUE ~ NA_real_
)
)
# Model 1: Logistic regression predicting any informal support (H1)
model_any <- glm(
any_support ~ dep_binary + age + sex + urban,
data = Afro_analysis,
family = binomial(link = "logit")
)
modelsummary(
model_any,
exponentiate = TRUE, # odds ratios
statistic = "({std.error})",
stars = TRUE,
fmt = 2,
title = "Table 6: Logistic regression predicting receipt of any informal support",
coef_map = c(
"dep_binary" = "Material deprivation (any)",
"age" = "Age",
"sexFemale" = "Female (ref: Male)",
"urbanRural" = "Rural (ref: Urban)"
),
gof_map = c("nobs", "aic")
)| (1) | |
|---|---|
| + p < 0.1, * p < 0.05, ** p < 0.01, *** p < 0.001 | |
| Material deprivation (any) | 7.98*** |
| (1.36) | |
| Age | 0.99* |
| (0.00) | |
| Female (ref: Male) | 1.13 |
| (0.15) | |
| Rural (ref: Urban) | 1.01 |
| (0.14) | |
| Num.Obs. | 1191 |
| AIC | 1381.3 |
#Model 1 plot: data points + fitted probabilities
# 1) Prepare plotting data (remove missing values)
Afro_plot_M1 <- Afro_analysis %>%
filter(!is.na(dep_binary), !is.na(any_support))
# 2) Prediction grid from Model 1
pred_grid_M1 <- Afro_analysis %>%
summarise(
age = mean(age, na.rm = TRUE)
) %>%
crossing(
dep_binary = c(0, 1),
sex = factor("Male", levels = levels(Afro_analysis$sex)),
urban = factor("Urban", levels = levels(Afro_analysis$urban))
) %>%
mutate(
pred = predict(model_any, newdata = ., type = "response")
)
# 3) Plot
ggplot() +
geom_jitter(
data = Afro_plot_M1,
aes(
x = dep_binary,
y = any_support,
color = factor(dep_binary)
),
width = 0.08,
height = 0.03,
alpha = 0.30,
size = 1
) +
geom_line(
data = pred_grid_M1,
aes(
x = dep_binary,
y = pred
),
linewidth = 1.2,
color = "black"
) +
geom_point(
data = pred_grid_M1,
aes(
x = dep_binary,
y = pred
),
size = 3,
color = "black"
) +
scale_x_continuous(
breaks = c(0, 1),
labels = c("Not deprived", "Deprived")
) +
scale_color_manual(
values = c("0" = "#2A9D8F", "1" = "#E76F51"),
labels = c("Not deprived", "Deprived")
) +
labs(
title = "Figure 4: Informal support by material deprivation",
x = "Material deprivation",
y = "Probability of receiving informal support",
color = "Material deprivation"
) +
theme_minimal()Interpretation of Model 1 (H1)
Material deprivation - Odds ratio = 7.98 (SE = 1.36, p < 0.001)
Material deprivation is strongly and positively associated with reliance on informal support networks. Respondents who experienced material deprivation at least once during the past year have nearly eight times higher odds of receiving informal assistance compared to respondents who were never deprived, holding demographic and contextual factors constant. This large and statistically robust effect indicates that informal support constitutes a central coping mechanism under conditions of material hardship, rather than a marginal or occasional response.
Age - Odds ratio = 0.99 (p < 0.05)
Age is weakly but significantly negatively associated with reliance on informal support. Each additional year of age is associated with a small decrease in the odds of receiving informal assistance. Although statistically significant, the magnitude of this effect is modest, suggesting that age plays a secondary role relative to material deprivation.
Sex - Female (ref: Male): Odds ratio = 1.13
Once material deprivation and other controls are taken into account, there is no statistically significant difference between men and women in the likelihood of relying on informal support. This suggests that any gender differences observed descriptively are largely driven by differences in exposure to deprivation rather than by sex-specific patterns of help-seeking.
Urban–rural residence - Rural (ref: Urban): Odds ratio = 1.01
Urban–rural residence does not have an independent effect on reliance on informal support once material deprivation and demographics are controlled for. This indicates that the relationship between deprivation and informal support operates similarly across settlement types, and is not primarily driven by urban–rural structural differences.
Conclusion for H1
The results from Model 1 provide strong support for H1. Material deprivation is associated with a big and statistically significant increase in the likelihood of relying on informal support networks. Even after accounting for age, sex, and urban–rural residence, deprived respondents are dramatically more likely to receive informal assistance than non-deprived respondents. This finding confirms that informal support networks play a key adaptive role in helping households cope with material insecurity across both urban and rural contexts.
Model 2: Network composition under material deprivation (H2)
Model specification
To test H2, which predicts that material deprivation is more strongly associated with reliance on kin-based networks than on non-kin networks, Model 2 directly compares the effect of deprivation across support types.
The data are reshaped so that each respondent contributes two observations: one for kin support and one for non-kin support. A logistic regression is then estimated with an interaction between material deprivation and support type.
Let Yij denote whether respondent i received support of type j (kin or non-kin). The model is specified as:
logit(P(Yij=1))=β0+β1Deprivationi+β2NonKinj+β3(Deprivationi×NonKinj)+Xiγ
where Xi includes age, sex, and urban–rural residence.
The interaction coefficient β3directly tests H2.
#Reshapeing the data to long format (kin vs non-kin)
Afro_long <- Afro_analysis %>%
select(resp_id, dep_binary, age, sex, urban, kin_support, nonkin_support) %>%
pivot_longer(
cols = c(kin_support, nonkin_support),
names_to = "support_type",
values_to = "support"
) %>%
mutate(
support_type = dplyr::recode(
support_type,
kin_support = "Kin",
nonkin_support = "Non-kin"
) %>% factor(levels = c("Kin", "Non-kin"))
) %>%
drop_na(resp_id, dep_binary, support, age, sex, urban)
# Model 2: Testing H2 via interaction between deprivation and support type
model_H2 <- glm(
support ~ dep_binary * support_type + age + sex + urban,
data = Afro_long,
family = binomial(link = "logit")
)
modelsummary(
model_H2,
exponentiate = TRUE,
statistic = "({std.error})",
stars = TRUE,
fmt = 2,
title = "Table 7: Interaction model comparing kin and non-kin support",
coef_map = c(
"dep_binary" = "Material deprivation (any)",
"support_typeNon-kin" = "Non-kin (ref: Kin)",
"dep_binary:support_typeNon-kin" = "Deprivation × Non-kin",
"age" = "Age",
"sexFemale" = "Female (ref: Male)",
"urbanRural" = "Rural (ref: Urban)"
),
gof_map = c("nobs", "aic")
)| (1) | |
|---|---|
| + p < 0.1, * p < 0.05, ** p < 0.01, *** p < 0.001 | |
| Material deprivation (any) | 7.25*** |
| (1.25) | |
| Non-kin (ref: Kin) | 0.21*** |
| (0.07) | |
| Deprivation × Non-kin | 1.60 |
| (0.58) | |
| Age | 0.99* |
| (0.00) | |
| Female (ref: Male) | 1.04 |
| (0.11) | |
| Rural (ref: Urban) | 1.05 |
| (0.11) | |
| Num.Obs. | 2383 |
| AIC | 2303.2 |
# Create prediction grid for Model 2
pred_grid_H2 <- Afro_long %>%
summarise(
age = mean(age, na.rm = TRUE)
) %>%
crossing(
dep_binary = c(0, 1),
support_type = factor(c("Kin", "Non-kin"),
levels = c("Kin", "Non-kin")),
sex = factor("Male", levels = levels(Afro_long$sex)),
urban = factor("Urban", levels = levels(Afro_long$urban))
) %>%
mutate(
pred = predict(model_H2, newdata = ., type = "response")
)
ggplot() +
# 1) Raw data points (jittered so we see density)
geom_jitter(
data = Afro_long,
aes(
x = dep_binary,
y = support,
color = support_type
),
width = 0.08,
height = 0.03,
alpha = 0.25,
size = 1
) +
# 2) Model-predicted probabilities (lines)
geom_line(
data = pred_grid_H2,
aes(
x = dep_binary,
y = pred,
color = support_type,
group = support_type
),
linewidth = 1.2
) +
# 3) Model-predicted probabilities (points on the line)
geom_point(
data = pred_grid_H2,
aes(
x = dep_binary,
y = pred,
color = support_type
),
size = 3
) +
scale_x_continuous(
breaks = c(0, 1),
labels = c("Not deprived", "Deprived")
) +
labs(
title = "Figure 5: Informal support by material deprivation and network type",
x = "Material deprivation",
y = "Probability of receiving support",
color = "Type of support"
) +
theme_minimal()Baseline difference between kin and non-kin support
Non-kin (ref: Kin) - Odds ratio = 0.21 (SE = 0.07, p < 0.001)
Holding material deprivation and other covariates constant, respondents are far less likely to receive support from non-kin than from kin. Specifically, the odds of receiving non-kin support are about 79% lower than the odds of receiving kin-based support. This result confirms that kin-based networks constitute the dominant source of informal assistance overall.
Does deprivation affect non-kin support differently? (H2 test)
Deprivation × Non-kin
Odds ratio = 1.60 (SE = 0.58, not statistically significant)
The interaction term captures whether the effect of material deprivation differs between non-kin and kin support. Although the estimated odds ratio is greater than one, the interaction is not statistically significant, indicating that the increase in reliance on informal support associated with deprivation does not differ significantlybetween kin and non-kin networks.
This means that while deprivation strongly increases reliance on informal support overall, there is no statistically robust evidence that this increase is stronger for kin-based networks than for non-kin networks once baseline differences are taken into account.
Control variables
Age: is weakly negatively associated with receiving informal support, indicating a small decrease in the likelihood of receiving assistance as age increases.
Sex: shows no statistically significant association with support receipt.
Urban–rural residence: also does not exhibit a significant independent effect.
Conclusion for H2
Model 2 provides partial but not decisive support for H2. Material deprivation substantially increases reliance on informal support networks, and kin-based support is clearly more prevalent than non-kin support overall. However, the interaction between material deprivation and support type is not statistically significant. This indicates that the difference in how deprivation affects kin versus non-kin support cannot be established with confidence.
In other words, households experiencing material deprivation are much more likely to receive informal support, and this support is more often provided by kin. Yet, the data do not allow us to conclude that material deprivation disproportionately shifts reliance toward kin-based networks rather than non-kin networks beyond this baseline dominance.
Assumptions and diagnostic checks
Both inferential models are estimated using logistic regression. Unlike ordinary least squares regression, logistic regression does not require normally distributed residuals or homoscedasticity. Instead, model validity depends on (i) independence of observations, (ii) correct functional form for continuous predictors (linearity of the logit), (iii) absence of problematic multicollinearity, and (iv) absence of complete or quasi-complete separation. The following diagnostics are used to assess these assumptions.
Independence of observations
For Model 1, each observation corresponds to a distinct Afrobarometer respondent, and the independence assumption is therefore satisfied.
For Model 2, the data are reshaped into long format such that each respondent contributes two observations (kin and non-kin support). These observations are not independent within respondent. To account for this within-respondent dependence, inference for Model 2 is based on standard errors clustered at the respondent level.
# Cluster-robust standard errors for Model 2
vcov_H2_cluster <- vcovCL(
model_H2,
cluster = Afro_long$resp_id
)Linearity of the logit (age)
Age is the only continuous predictor included in the models. Linearity of the logit is assessed by comparing baseline specifications with models allowing for non-linear age effects using spline terms. Likelihood ratio tests are used to evaluate whether allowing for non-linearity significantly improves model fit.
# Model 1: linear vs spline age
model_any_linear <- glm(
any_support ~ dep_binary + age + sex + urban,
data = Afro_analysis,
family = binomial(link = "logit")
)
model_any_spline <- glm(
any_support ~ dep_binary + ns(age, df = 3) + sex + urban,
data = Afro_analysis,
family = binomial(link = "logit")
)
anova(model_any_linear, model_any_spline, test = "Chisq")Analysis of Deviance Table
Model 1: any_support ~ dep_binary + age + sex + urban
Model 2: any_support ~ dep_binary + ns(age, df = 3) + sex + urban
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 1186 1371.3
2 1184 1356.4 2 14.937 0.0005708 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Model 2: linear vs spline age
model_H2_linear <- glm(
support ~ dep_binary * support_type + age + sex + urban,
data = Afro_long,
family = binomial(link = "logit")
)
model_H2_spline <- glm(
support ~ dep_binary * support_type + ns(age, df = 3) + sex + urban,
data = Afro_long,
family = binomial(link = "logit")
)
anova(model_H2_linear, model_H2_spline, test = "Chisq")Analysis of Deviance Table
Model 1: support ~ dep_binary * support_type + age + sex + urban
Model 2: support ~ dep_binary * support_type + ns(age, df = 3) + sex +
urban
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 2376 2289.2
2 2374 2274.9 2 14.23 0.0008127 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Likelihood-ratio tests comparing models with linear age terms to models allowing for non-linear age effects indicate that modeling age flexibly using spline terms significantly improves overall model fit in both specifications. This suggests that the relationship between age and the log-odds of receiving informal support is not strictly linear. However, age is included in the analysis solely as a control variable, and the substantive conclusions regarding the association between material deprivation and informal support, as well as differences between kin and non-kin networks, are unaffected by the functional form chosen for age. To preserve model parsimony and interpretability, age is therefore retained in linear form in the main analyses.
Multicollinearity
Multicollinearity among predictors is assessed using variance inflation factors (VIFs). In models including interaction terms, higher VIF values for interaction-related variables are expected and do not indicate problematic multicollinearity.
library(car)
vif(model_any)dep_binary age sex urban
1.074323 1.023301 1.013590 1.069697
vif(model_H2) dep_binary support_type age
1.370128 10.567912 1.018786
sex urban dep_binary:support_type
1.011921 1.051591 11.356953
Variance inflation factors (VIFs) indicate no evidence of problematic multicollinearity in either model. In Model 1, all VIF values are close to 1 (ranging approximately from 1.01 to 1.07), suggesting that the predictors are only weakly correlated and that multicollinearity is negligible.
In Model 2, which includes an interaction between material deprivation and support type, higher VIF values are observed for the support type variable (VIF ≈ 10.57) and for the interaction term (VIF ≈ 11.36). This pattern is expected in models with interaction terms, as interaction variables are mechanically correlated with their constituent main effects. Importantly, the VIFs for all other predictors remain low (around 1–1.4), indicating that multicollinearity does not meaningfully affect the estimation of the main effects or the interaction term. Anyways, these results suggest that multicollinearity is not a concern for the substantive interpretation of the models.
Separation
To ensure that no predictor (or combination of predictors) perfectly predicts the outcome, separation diagnostics are conducted. The absence of separation implies that maximum likelihood estimates are finite and stable.
detect_separation(
y = model_any$y,
x = model.matrix(model_any)
)Implementation: ROI | Solver: lpsolve
Separation: FALSE
Existence of maximum likelihood estimates
(Intercept) dep_binary age sexFemale urbanRural
0 0 0 0 0
0: finite value, Inf: infinity, -Inf: -infinity
detect_separation(
y = model_H2$y,
x = model.matrix(model_H2)
)Implementation: ROI | Solver: lpsolve
Separation: FALSE
Existence of maximum likelihood estimates
(Intercept) dep_binary
0 0
support_typeNon-kin age
0 0
sexFemale urbanRural
0 0
dep_binary:support_typeNon-kin
0
0: finite value, Inf: infinity, -Inf: -infinity
Separation diagnostics indicate no evidence of complete or quasi-complete separation in either logistic regression model. For both Model 1 and Model 2, the test reports Separation: FALSE, and all coefficients are associated with finite maximum likelihood estimates. This indicates that no predictor, nor any combination of predictors (including interaction terms), perfectly predicts the outcome. As a result, coefficient estimates are well defined and stable, and standard maximum likelihood estimation is appropriate for both models. The warning accompanying the output is informational and reflects the function’s design for use with binomial-response generalized linear models, rather than indicating a violation of model assumptions. Consequently, separation does not pose a concern for the validity or interpretation of the estimated results.
Discussion/Conclusion:
This study set out to examine whether material deprivation is associated with reliance on informal support networks in Morocco, and whether deprivation alters the composition of support between kin and non-kin ties. While the analysis identifies a strong association between experiencing material deprivation and receiving informal support, the findings should be interpreted with caution.
First, although the relationship between deprivation and informal support is statistically robust, the study relies on cross-sectional data, which prevents any causal interpretation. The analysis cannot determine whether deprivation leads individuals to rely on informal support, whether weak or strong networks shape exposure to deprivation, or whether both are driven by unobserved factors. The estimated associations therefore reflect correlation rather than causal effects.
Second, the operationalization of material deprivation as a binary indicator simplifies a complex phenomenon. This choice was motivated by the highly skewed distribution of the lived poverty index and the analytical focus on exposure to deprivation as a threshold condition. However, this approach collapses meaningful variation in the intensity and persistence of hardship. As a result, the analysis cannot distinguish between occasional and chronic deprivation, which may have different implications for support mobilization.
Third, the evidence regarding network composition under deprivation is weak. While kin-based support is substantially more prevalent than non-kin support overall, the interaction analysis does not provide statistically convincing evidence that deprivation disproportionately shifts reliance toward kin-based networks once baseline differences are accounted for. This suggests that the dominance of kin support reflects structural features of social organization rather than a specific response to deprivation. The hypothesis concerning differential network composition is therefore not strongly supported.
Fourth, several diagnostic checks indicate minor model specification concerns. In particular, likelihood-ratio tests suggest that the effect of age on the log-odds of receiving support is not strictly linear. Although age is included only as a control variable and the substantive conclusions regarding deprivation are unaffected, this non-linearity highlights the limits of the chosen functional form and reinforces the descriptive nature of the analysis. More flexible modeling strategies could improve fit but were not central to the research question.
Finally, the analysis captures receipt of support rather than network capacity or quality. Receiving assistance does not necessarily imply access to stable, reliable, or beneficial social ties, and informal support may also involve obligations or dependency. The data therefore provide only a partial view of social support dynamics.
To conclude, the findings suggest that informal support is closely associated with material deprivation, but they offer limited insight into the mechanisms, directionality, or qualitative nature of this relationship. The results should be read as indicative rather than definitive, and as a starting point for more detailed longitudinal or network-based analyses rather than as strong evidence of adaptive behavioral responses.